Providing high‐level self‐adaptive abstractions for stream parallelism on multicores

نویسندگان

چکیده

Abstract Stream processing applications are common computing workloads that demand parallelism to increase their performance. As in the past, parallel programming remains a difficult task for application programmers. The complexity increases when programmers must set nonintuitive parameters, is, degree of parallelism. main problem is state‐of‐the‐art libraries use static and not sufficiently abstracted developing stream applications. In this article, we propose self‐adaptive regulation provide higher‐level abstractions. Flexibility provided with two new strategies, one performance experts, other abstracts need goal. We evaluated our solution using compiler transformation rules generate code SPar domain‐specific language. experimental results real‐world highlighted higher abstraction levels without significant degradation comparison executions. strategy experts achieved slightly than works user‐defined goals.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Tasklettes - A Fine Grained Parallelism for Ada on Multicores

The widespread use of multi-CPU computers is challenging programming languages, which need to adapt to be able to express potential parallelism at the language level. In this paper we propose a new model for fine grained parallelism in Ada, putting forward a syntax based on aspects, and the corresponding semantics to integrate this model with the existing Ada tasking capabilities. We also propo...

متن کامل

Abstractions for Adaptive Data Parallelism

This paper describes how a class of data parallel programs (SPMD) may be expressed using reusable adaptive abstractions. The abstractions support adaptive use of a network of workstations for parallel computing. Although data parallelism is the paradigm considered the programs are expressed using message passing. The main contribution of this paper is to demonstrate how adaptive parallelism may...

متن کامل

High-Level Abstractions for Safe Parallelism

Recent research efforts have developed sophisticated type systems for eliminating unwanted interference (i.e., read-write conflicts) from parallel code. While these systems are powerful, they suffer from potential barriers to adoption in that (1) they rely upon complex and/or restrictive features that may be difficult for programmers to understand and use; and (2) they impose a nontrivial annot...

متن کامل

Scaling Ordered Stream Processing on Shared-Memory Multicores

Many modern applications require real-time processing of large volumes of high-speed data. Such data processing needs can be modeled as a streaming computation. A streaming computation is specified as a dataflow graph that exposes multiple opportunities for parallelizing its execution, in the form of data, pipeline and task parallelism. On the other hand, many important applications require tha...

متن کامل

Harnessing the Multicores: Nested Data Parallelism in Haskell

If you want to program a parallel computer, a purely functional language like Haskell is a promising starting point. Since the language is pure, it is by-default safe for parallel evaluation, whereas imperative languages are by-default unsafe. But that doesn’t make it easy! Indeed it has proved quite difficult to get robust, scalable performance increases through parallel functional programming...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Software - Practice and Experience

سال: 2021

ISSN: ['0038-0644', '1097-024X']

DOI: https://doi.org/10.1002/spe.2948